home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / util / blank / bserver_v14.lha / BServer_v1.4 / Sources.lha / Sources / clients / RastaParrot.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-03-23  |  13.3 KB  |  569 lines

  1. ; /*
  2. sc RESOPT IGNORE=73 DATA=NEAR NMINC UCHAR CONSTLIB STREQ STRMERGE NOSTKCHK NOSTDIO OPTIMIZE OPTSIZE rastaparrot.c
  3. slink from lib:c.o rastaparrot.o to //Clients/RastaParrot lib lib:sc.lib lib:amiga.lib /lib/client.lib SC SD NOICONS
  4. delete rastaparrot.o
  5. quit
  6.  
  7.  RastaParrot 1.2  (Client for BServer)
  8.  
  9.  Copyright © 1994-1995 Stefano Reksten of 3AM - The Three Amigos!!!
  10.  All rights reserved.
  11.  
  12.  The RastaParrot(TM) is Copyright © Massimo Capanni (JAMAICAN of 3AM)
  13. */
  14.  
  15. #include <exec/memory.h>
  16. #include <intuition/intuition.h>
  17. #include <graphics/gfxbase.h>
  18.  
  19. #include <proto/exec.h>
  20. #include <proto/intuition.h>
  21. #include <proto/graphics.h>
  22. #include <clib/alib_protos.h>
  23. #include <time.h>
  24.  
  25. #include "/include/client.h"
  26. #include "/include/bitmap/bitmap.h"
  27. #include "/include/bitmap/bitmap_pragmas.h"
  28.  
  29. char *ver = "$VER: RastaParrot 1.2 "__AMIGADATE__;
  30.  
  31. extern ULONG RangeSeed;
  32.  
  33. struct IntuitionBase *IntuitionBase;
  34. struct GfxBase *GfxBase;
  35. struct Library *BitMapBase;
  36.  
  37. UBYTE rp_cmap[24] = { 0, 0, 0, 5, 2, 0, 0, 0, 0, 9, 4, 1, 11, 0, 0, 11, 15, 0, 15, 6, 0, 15, 15, 15 };
  38.  
  39. UWORD chip rp1_imgdata[372] = {
  40.  0x0, 0x1, 0x8000, 0x0,
  41.  0x0, 0x3, 0x0, 0x0,
  42.  0x0, 0x187, 0x300, 0x0,
  43.  0x0, 0x1C7, 0x1E00, 0x0,
  44.  0x0, 0x78F7, 0xFC00, 0x0,
  45.  0x0, 0x7FFF, 0xF000, 0x0,
  46.  0x20, 0x3FFF, 0xF000, 0x0,
  47.  0x78, 0x3FFF, 0xE000, 0x0,
  48.  0x7C, 0xBFFF, 0xC000, 0x0,
  49.  0x7E, 0xFFF3, 0xC000, 0x0,
  50.  0x7F, 0xFFE7, 0xC000, 0x0,
  51.  0x7F, 0xFFCF, 0xC000, 0x0,
  52.  0x7F, 0xFFDB, 0xC000, 0x0,
  53.  0x3F, 0xFFC3, 0x8000, 0x0,
  54.  0x1C3F, 0xFFDF, 0x8000, 0x0,
  55.  0x7F3F, 0xFFFF, 0x8000, 0x0,
  56.  0x3FBF, 0xFFFF, 0x8000, 0x0,
  57.  0x1FFF, 0xFFFF, 0x9C00, 0x0,
  58.  0x3FFF, 0xFFFF, 0xCF00, 0x0,
  59.  0x7FFF, 0xFFFF, 0xC7E0, 0x0,
  60.  0x7FFF, 0xFFFF, 0xC3E0, 0x0,
  61.  0xFFFF, 0xFFFF, 0x80C0, 0x0,
  62.  0xCFFF, 0xFFFF, 0x8000, 0x0,
  63.  0xFFF, 0xFFFF, 0x0, 0x0,
  64.  0x1FFF, 0xFFFF, 0x0, 0x0,
  65.  0x1FFF, 0xFFFE, 0x0, 0x0,
  66.  0x1C0F, 0xFFFC, 0x0, 0x0,
  67.  0x807, 0xFFF0, 0x0, 0x0,
  68.  0x1, 0x9000, 0x0, 0x0,
  69.  0x0, 0x0, 0x0, 0x0,
  70.  0x0, 0x0, 0x0, 0x0,
  71.  0x0, 0x0, 0x0, 0x0,
  72.  0x0, 0x0, 0x0, 0x0,
  73.  0x0, 0x0, 0x0, 0x0,
  74.  0x0, 0x2, 0x0, 0x0,
  75.  0x0, 0x42, 0x1000, 0x0,
  76.  0x0, 0x63, 0x2000, 0x0,
  77.  0x0, 0x7F7, 0xC000, 0x0,
  78.  0x0, 0x7FF, 0xC000, 0x0,
  79.  0x30, 0xFFF, 0x8000, 0x0,
  80.  0x38, 0xFE3, 0x8000, 0x0,
  81.  0x3C, 0xFC3, 0x8000, 0x0,
  82.  0x3E, 0x4F83, 0x8000, 0x0,
  83.  0x1F, 0x3F83, 0xFFE0, 0x0,
  84.  0xF, 0x9F83, 0xFFFF, 0x0,
  85.  0x7, 0xCFC3, 0xFFFF, 0x8000,
  86.  0x1B, 0xEFC3, 0xBFFF, 0xC000,
  87.  0x919, 0xE7F3, 0xC007, 0xC000,
  88.  0xF8F, 0xF3CF, 0xFFC0, 0xE000,
  89.  0xFC7, 0xF9FF, 0xBF00, 0x2000,
  90.  0x1F89, 0xFFFF, 0x87E0, 0x0,
  91.  0x3FF7, 0xFFFF, 0x3E0, 0x0,
  92.  0x47F8, 0x7FFF, 0xC0, 0x0,
  93.  0x7FF, 0x3FFE, 0x0, 0x0,
  94.  0x7FF, 0xFFFE, 0x0, 0x0,
  95.  0xDCF, 0xFFFC, 0x0, 0x0,
  96.  0xC07, 0xFFF8, 0x0, 0x0,
  97.  0x3, 0xFFF0, 0x0, 0x0,
  98.  0x0, 0xFF00, 0x0, 0x0,
  99.  0x0, 0x6F80, 0x0, 0x0,
  100.  0x1, 0x9BC0, 0x0, 0x0,
  101.  0x1, 0x140, 0x0, 0x0,
  102.  0x0, 0x0, 0x0, 0x0,
  103.  0x0, 0x0, 0x0, 0x0,
  104.  0x0, 0x0, 0x0, 0x0,
  105.  0x0, 0x0, 0x0, 0x0,
  106.  0x0, 0x0, 0x0, 0x0,
  107.  0x0, 0x0, 0x0, 0x0,
  108.  0x0, 0x0, 0x0, 0x0,
  109.  0x0, 0x0, 0x0, 0x0,
  110.  0x0, 0x0, 0x0, 0x0,
  111.  0x0, 0xC, 0x0, 0x0,
  112.  0x0, 0x18, 0x0, 0x0,
  113.  0x0, 0x30, 0x0, 0x0,
  114.  0x0, 0x24, 0x3FE0, 0x0,
  115.  0x0, 0x3C, 0x7FFF, 0x0,
  116.  0x0, 0x20, 0x7FFF, 0x8000,
  117.  0x0, 0x0, 0x7FFF, 0xC000,
  118.  0x0, 0x0, 0x7FC7, 0xC000,
  119.  0x0, 0x0, 0x7FC0, 0xE000,
  120.  0x0, 0x0, 0x3F00, 0x2000,
  121.  0x0, 0x0, 0x7E0, 0x0,
  122.  0x0, 0x0, 0x3F0, 0x0,
  123.  0x0, 0x0, 0xF0, 0x0,
  124.  0x0, 0x0, 0x60, 0x0,
  125.  0x0, 0x0, 0x0, 0x0,
  126.  0x0, 0x0, 0x0, 0x0,
  127.  0x0, 0x0, 0x0, 0x0,
  128.  0x0, 0x0, 0x0, 0x0,
  129.  0x0, 0x0, 0x0, 0x0,
  130.  0x0, 0x6F80, 0x0, 0x0,
  131.  0x1, 0x9BC0, 0x0, 0x0,
  132.  0x1, 0x140, 0x0, 0x0
  133.  };
  134.  
  135. UWORD chip rp2_imgdata[372] = {
  136.  0x0, 0x1, 0x8000, 0x0,
  137.  0x0, 0x3, 0x0, 0x0,
  138.  0x0, 0x187, 0x300, 0x0,
  139.  0x0, 0x1C7, 0x1E00, 0x0,
  140.  0x0, 0x78F7, 0xFC00, 0x0,
  141.  0x0, 0x7FFF, 0xF000, 0x0,
  142.  0x0, 0x3FFF, 0xF000, 0x0,
  143.  0x0, 0x3FFF, 0xE000, 0x0,
  144.  0x0, 0xBFFF, 0xC000, 0x0,
  145.  0x0, 0xFFF3, 0xC000, 0x0,
  146.  0x1, 0xFFE7, 0xC000, 0x0,
  147.  0x1, 0xFFCF, 0xC000, 0x0,
  148.  0x1, 0xFFDB, 0xC000, 0x0,
  149.  0x3, 0xFFC3, 0x8000, 0x0,
  150.  0x1C03, 0xFFDF, 0x8000, 0x0,
  151.  0x7F07, 0xFFFF, 0x8000, 0x0,
  152.  0x3F87, 0xFFFF, 0x8000, 0x0,
  153.  0x1FEF, 0xFFFF, 0x9C00, 0x0,
  154.  0x3FFF, 0xFFFF, 0xCF00, 0x0,
  155.  0x7FFF, 0xFFFF, 0xC7E0, 0x0,
  156.  0x7FFF, 0xFFFF, 0xC3E0, 0x0,
  157.  0xFFFF, 0xFFFF, 0x80C0, 0x0,
  158.  0xCFFF, 0xFFFF, 0x8000, 0x0,
  159.  0xFFF, 0xFFFF, 0x0, 0x0,
  160.  0x1FFF, 0xFFFF, 0x0, 0x0,
  161.  0x1FFF, 0xFFFE, 0x0, 0x0,
  162.  0x1C7F, 0xFFFC, 0x0, 0x0,
  163.  0x87F, 0xFFF0, 0x0, 0x0,
  164.  0x79, 0x9000, 0x0, 0x0,
  165.  0x0, 0x0, 0x0, 0x0,
  166.  0x0, 0x0, 0x0, 0x0,
  167.  0x0, 0x0, 0x0, 0x0,
  168.  0x0, 0x0, 0x0, 0x0,
  169.  0x0, 0x0, 0x0, 0x0,
  170.  0x0, 0x2, 0x0, 0x0,
  171.  0x0, 0x42, 0x1000, 0x0,
  172.  0x0, 0x63, 0x2000, 0x0,
  173.  0x0, 0x7F7, 0xC000, 0x0,
  174.  0x0, 0x7FF, 0xC000, 0x0,
  175.  0x0, 0xFFF, 0x8000, 0x0,
  176.  0x0, 0xFE3, 0x8000, 0x0,
  177.  0x0, 0xFC3, 0x8000, 0x0,
  178.  0x0, 0xCF83, 0x8000, 0x0,
  179.  0x0, 0xFF83, 0xFFE0, 0x0,
  180.  0x1, 0xFF83, 0xFFFF, 0x0,
  181.  0x1, 0xFFC3, 0xFFFF, 0x8000,
  182.  0x1, 0xFFC3, 0xBFFF, 0xC000,
  183.  0x903, 0xFFF3, 0xC007, 0xC000,
  184.  0xF87, 0xFFCF, 0xFFC0, 0xE000,
  185.  0xFC4, 0xFEFF, 0xBF00, 0x2000,
  186.  0x1F81, 0xFCFF, 0x87E0, 0x0,
  187.  0x3FE7, 0x79FF, 0x3E0, 0x0,
  188.  0x47CC, 0x67FF, 0xC0, 0x0,
  189.  0x7D9, 0xEFFE, 0x0, 0x0,
  190.  0x7D7, 0xDFFE, 0x0, 0x0,
  191.  0xDCF, 0xBFFC, 0x0, 0x0,
  192.  0xC1E, 0x7FF8, 0x0, 0x0,
  193.  0x3C, 0xFFF0, 0x0, 0x0,
  194.  0x38, 0xFF00, 0x0, 0x0,
  195.  0x0, 0x6F80, 0x0, 0x0,
  196.  0x1, 0x9BC0, 0x0, 0x0,
  197.  0x1, 0x140, 0x0, 0x0,
  198.  0x0, 0x0, 0x0, 0x0,
  199.  0x0, 0x0, 0x0, 0x0,
  200.  0x0, 0x0, 0x0, 0x0,
  201.  0x0, 0x0, 0x0, 0x0,
  202.  0x0, 0x0, 0x0, 0x0,
  203.  0x0, 0x0, 0x0, 0x0,
  204.  0x0, 0x0, 0x0, 0x0,
  205.  0x0, 0x0, 0x0, 0x0,
  206.  0x0, 0x0, 0x0, 0x0,
  207.  0x0, 0xC, 0x0, 0x0,
  208.  0x0, 0x18, 0x0, 0x0,
  209.  0x0, 0x30, 0x0, 0x0,
  210.  0x0, 0x24, 0x3FE0, 0x0,
  211.  0x0, 0x3C, 0x7FFF, 0x0,
  212.  0x0, 0x20, 0x7FFF, 0x8000,
  213.  0x0, 0x0, 0x7FFF, 0xC000,
  214.  0x0, 0x0, 0x7FC7, 0xC000,
  215.  0x0, 0x0, 0x7FC0, 0xE000,
  216.  0x0, 0x0, 0x3F00, 0x2000,
  217.  0x0, 0x0, 0x7E0, 0x0,
  218.  0x0, 0x0, 0x3F0, 0x0,
  219.  0x0, 0x0, 0xF0, 0x0,
  220.  0x0, 0x0, 0x60, 0x0,
  221.  0x0, 0x0, 0x0, 0x0,
  222.  0x0, 0x0, 0x0, 0x0,
  223.  0x0, 0x0, 0x0, 0x0,
  224.  0x0, 0x0, 0x0, 0x0,
  225.  0x0, 0x0, 0x0, 0x0,
  226.  0x0, 0x6F80, 0x0, 0x0,
  227.  0x1, 0x9BC0, 0x0, 0x0,
  228.  0x1, 0x140, 0x0, 0x0
  229.  };
  230.  
  231. UWORD chip rp3_imgdata[372] = {
  232.  0x0, 0x3000, 0x0, 0x0,
  233.  0x0, 0x1800, 0x0, 0x0,
  234.  0x18, 0x1C30, 0x0, 0x0,
  235.  0xF, 0x1C70, 0x0, 0x0,
  236.  0x7, 0xFDE3, 0xC000, 0x0,
  237.  0x1, 0xFFFF, 0xC000, 0x0,
  238.  0x1, 0xFFFF, 0x8080, 0x0,
  239.  0x0, 0xFFFF, 0x83C0, 0x0,
  240.  0x0, 0x7FFF, 0xA7C0, 0x0,
  241.  0x0, 0x79FF, 0xEFC0, 0x0,
  242.  0x0, 0x7CFF, 0xFFC0, 0x0,
  243.  0x0, 0x7E7F, 0xFFC0, 0x0,
  244.  0x0, 0x7B7F, 0xFFC0, 0x0,
  245.  0x0, 0x387F, 0xFF80, 0x0,
  246.  0x0, 0x3F7F, 0xFF87, 0x0,
  247.  0x0, 0x3FFF, 0xFF9F, 0xC000,
  248.  0x0, 0x3FFF, 0xFFBF, 0x8000,
  249.  0x7, 0x3FFF, 0xFFFF, 0x0,
  250.  0x1E, 0x7FFF, 0xFFFF, 0x8000,
  251.  0xFC, 0x7FFF, 0xFFFF, 0xC000,
  252.  0xF8, 0x7FFF, 0xFFFF, 0xC000,
  253.  0x60, 0x3FFF, 0xFFFF, 0xE000,
  254.  0x0, 0x3FFF, 0xFFFE, 0x6000,
  255.  0x0, 0x1FFF, 0xFFFE, 0x0,
  256.  0x0, 0x1FFF, 0xFFFF, 0x0,
  257.  0x0, 0xFFF, 0xFFFF, 0x0,
  258.  0x0, 0x7FF, 0xFE07, 0x0,
  259.  0x0, 0x1FF, 0xFC02, 0x0,
  260.  0x0, 0x1, 0x3000, 0x0,
  261.  0x0, 0x0, 0x0, 0x0,
  262.  0x0, 0x0, 0x0, 0x0,
  263.  0x0, 0x0, 0x0, 0x0,
  264.  0x0, 0x0, 0x0, 0x0,
  265.  0x0, 0x0, 0x0, 0x0,
  266.  0x0, 0x800, 0x0, 0x0,
  267.  0x1, 0x840, 0x0, 0x0,
  268.  0x0, 0x98C0, 0x0, 0x0,
  269.  0x0, 0x7DFC, 0x0, 0x0,
  270.  0x0, 0x7FFC, 0x0, 0x0,
  271.  0x0, 0x3FFE, 0x180, 0x0,
  272.  0x0, 0x38FE, 0x380, 0x0,
  273.  0x0, 0x387E, 0x780, 0x0,
  274.  0x0, 0x383E, 0x4F80, 0x0,
  275.  0xFF, 0xF83F, 0x9F00, 0x0,
  276.  0x1FFF, 0xF83F, 0x3E00, 0x0,
  277.  0x3FFF, 0xF87E, 0x7C00, 0x0,
  278.  0x7FFF, 0xB87E, 0xFB00, 0x0,
  279.  0x7C00, 0x79FC, 0xF312, 0x0,
  280.  0xE07F, 0xFE79, 0xFE3E, 0x0,
  281.  0x801F, 0xBFF3, 0xFC7E, 0x0,
  282.  0xFC, 0x3FFF, 0xF23F, 0x0,
  283.  0xF8, 0x1FFF, 0xFDFF, 0x8000,
  284.  0x60, 0x1FFF, 0xC3FC, 0x4000,
  285.  0x0, 0xFFF, 0x9FFC, 0x0,
  286.  0x0, 0xFFF, 0xFFFC, 0x0,
  287.  0x0, 0x7FF, 0xFE76, 0x0,
  288.  0x0, 0x3FF, 0xFC06, 0x0,
  289.  0x0, 0x1FF, 0xF800, 0x0,
  290.  0x0, 0x1F, 0xE000, 0x0,
  291.  0x0, 0x3E, 0xC000, 0x0,
  292.  0x0, 0x7B, 0x3000, 0x0,
  293.  0x0, 0x50, 0x1000, 0x0,
  294.  0x0, 0x0, 0x0, 0x0,
  295.  0x0, 0x0, 0x0, 0x0,
  296.  0x0, 0x0, 0x0, 0x0,
  297.  0x0, 0x0, 0x0, 0x0,
  298.  0x0, 0x0, 0x0, 0x0,
  299.  0x0, 0x0, 0x0, 0x0,
  300.  0x0, 0x0, 0x0, 0x0,
  301.  0x0, 0x0, 0x0, 0x0,
  302.  0x0, 0x0, 0x0, 0x0,
  303.  0x0, 0x600, 0x0, 0x0,
  304.  0x0, 0x300, 0x0, 0x0,
  305.  0x0, 0x180, 0x0, 0x0,
  306.  0xFF, 0x8480, 0x0, 0x0,
  307.  0x1FFF, 0xC780, 0x0, 0x0,
  308.  0x3FFF, 0xC080, 0x0, 0x0,
  309.  0x7FFF, 0xC000, 0x0, 0x0,
  310.  0x7C7F, 0xC000, 0x0, 0x0,
  311.  0xE07F, 0xC000, 0x0, 0x0,
  312.  0x801F, 0x8000, 0x0, 0x0,
  313.  0xFC, 0x0, 0x0, 0x0,
  314.  0x1F8, 0x0, 0x0, 0x0,
  315.  0x1E0, 0x0, 0x0, 0x0,
  316.  0xC0, 0x0, 0x0, 0x0,
  317.  0x0, 0x0, 0x0, 0x0,
  318.  0x0, 0x0, 0x0, 0x0,
  319.  0x0, 0x0, 0x0, 0x0,
  320.  0x0, 0x0, 0x0, 0x0,
  321.  0x0, 0x0, 0x0, 0x0,
  322.  0x0, 0x3E, 0xC000, 0x0,
  323.  0x0, 0x7B, 0x3000, 0x0,
  324.  0x0, 0x50, 0x1000, 0x0
  325.  };
  326.  
  327. UWORD chip rp4_imgdata[372] = {
  328.  0x0, 0x3000, 0x0, 0x0,
  329.  0x0, 0x1800, 0x0, 0x0,
  330.  0x18, 0x1C30, 0x0, 0x0,
  331.  0xF, 0x1C70, 0x0, 0x0,
  332.  0x7, 0xFDE3, 0xC000, 0x0,
  333.  0x1, 0xFFFF, 0xC000, 0x0,
  334.  0x1, 0xFFFF, 0x8000, 0x0,
  335.  0x0, 0xFFFF, 0x8000, 0x0,
  336.  0x0, 0x7FFF, 0xA000, 0x0,
  337.  0x0, 0x79FF, 0xE000, 0x0,
  338.  0x0, 0x7CFF, 0xF000, 0x0,
  339.  0x0, 0x7E7F, 0xF000, 0x0,
  340.  0x0, 0x7B7F, 0xF000, 0x0,
  341.  0x0, 0x387F, 0xF800, 0x0,
  342.  0x0, 0x3F7F, 0xF807, 0x0,
  343.  0x0, 0x3FFF, 0xFC1F, 0xC000,
  344.  0x0, 0x3FFF, 0xFC3F, 0x8000,
  345.  0x7, 0x3FFF, 0xFEFF, 0x0,
  346.  0x1E, 0x7FFF, 0xFFFF, 0x8000,
  347.  0xFC, 0x7FFF, 0xFFFF, 0xC000,
  348.  0xF8, 0x7FFF, 0xFFFF, 0xC000,
  349.  0x60, 0x3FFF, 0xFFFF, 0xE000,
  350.  0x0, 0x3FFF, 0xFFFE, 0x6000,
  351.  0x0, 0x1FFF, 0xFFFE, 0x0,
  352.  0x0, 0x1FFF, 0xFFFF, 0x0,
  353.  0x0, 0xFFF, 0xFFFF, 0x0,
  354.  0x0, 0x7FF, 0xFFC7, 0x0,
  355.  0x0, 0x1FF, 0xFFC2, 0x0,
  356.  0x0, 0x1, 0x33C0, 0x0,
  357.  0x0, 0x0, 0x0, 0x0,
  358.  0x0, 0x0, 0x0, 0x0,
  359.  0x0, 0x0, 0x0, 0x0,
  360.  0x0, 0x0, 0x0, 0x0,
  361.  0x0, 0x0, 0x0, 0x0,
  362.  0x0, 0x800, 0x0, 0x0,
  363.  0x1, 0x840, 0x0, 0x0,
  364.  0x0, 0x98C0, 0x0, 0x0,
  365.  0x0, 0x7DFC, 0x0, 0x0,
  366.  0x0, 0x7FFC, 0x0, 0x0,
  367.  0x0, 0x3FFE, 0x0, 0x0,
  368.  0x0, 0x38FE, 0x0, 0x0,
  369.  0x0, 0x387E, 0x0, 0x0,
  370.  0x0, 0x383E, 0x6000, 0x0,
  371.  0xFF, 0xF83F, 0xE000, 0x0,
  372.  0x1FFF, 0xF83F, 0xF000, 0x0,
  373.  0x3FFF, 0xF87F, 0xF000, 0x0,
  374.  0x7FFF, 0xB87F, 0xF000, 0x0,
  375.  0x7C00, 0x79FF, 0xF812, 0x0,
  376.  0xE07F, 0xFE7F, 0xFC3E, 0x0,
  377.  0x801F, 0xBFEF, 0xE47E, 0x0,
  378.  0xFC, 0x3FE7, 0xF03F, 0x0,
  379.  0xF8, 0x1FF3, 0xDCFF, 0x8000,
  380.  0x60, 0x1FFC, 0xC67C, 0x4000,
  381.  0x0, 0xFFE, 0xF37C, 0x0,
  382.  0x0, 0xFFF, 0x7D7C, 0x0,
  383.  0x0, 0x7FF, 0xBE76, 0x0,
  384.  0x0, 0x3FF, 0xCF06, 0x0,
  385.  0x0, 0x1FF, 0xE780, 0x0,
  386.  0x0, 0x1F, 0xE380, 0x0,
  387.  0x0, 0x3E, 0xC000, 0x0,
  388.  0x0, 0x7B, 0x3000, 0x0,
  389.  0x0, 0x50, 0x1000, 0x0,
  390.  0x0, 0x0, 0x0, 0x0,
  391.  0x0, 0x0, 0x0, 0x0,
  392.  0x0, 0x0, 0x0, 0x0,
  393.  0x0, 0x0, 0x0, 0x0,
  394.  0x0, 0x0, 0x0, 0x0,
  395.  0x0, 0x0, 0x0, 0x0,
  396.  0x0, 0x0, 0x0, 0x0,
  397.  0x0, 0x0, 0x0, 0x0,
  398.  0x0, 0x0, 0x0, 0x0,
  399.  0x0, 0x600, 0x0, 0x0,
  400.  0x0, 0x300, 0x0, 0x0,
  401.  0x0, 0x180, 0x0, 0x0,
  402.  0xFF, 0x8480, 0x0, 0x0,
  403.  0x1FFF, 0xC780, 0x0, 0x0,
  404.  0x3FFF, 0xC080, 0x0, 0x0,
  405.  0x7FFF, 0xC000, 0x0, 0x0,
  406.  0x7C7F, 0xC000, 0x0, 0x0,
  407.  0xE07F, 0xC000, 0x0, 0x0,
  408.  0x801F, 0x8000, 0x0, 0x0,
  409.  0xFC, 0x0, 0x0, 0x0,
  410.  0x1F8, 0x0, 0x0, 0x0,
  411.  0x1E0, 0x0, 0x0, 0x0,
  412.  0xC0, 0x0, 0x0, 0x0,
  413.  0x0, 0x0, 0x0, 0x0,
  414.  0x0, 0x0, 0x0, 0x0,
  415.  0x0, 0x0, 0x0, 0x0,
  416.  0x0, 0x0, 0x0, 0x0,
  417.  0x0, 0x0, 0x0, 0x0,
  418.  0x0, 0x3E, 0xC000, 0x0,
  419.  0x0, 0x7B, 0x3000, 0x0,
  420.  0x0, 0x50, 0x1000, 0x0
  421.  };
  422.  
  423.  
  424. struct Image rp_image = { 0, 0, 0x33, 0x1F, 0x3, rp1_imgdata, 0x7, 0, NULL };
  425.  
  426. struct Screen *scr;
  427.  
  428.  
  429. UWORD top;
  430. WORD left, oldleft;
  431. UBYTE delay = 1, dx;
  432. struct BitMap *bmap, *rasta_bitmap;
  433. struct RastPort *rport;
  434.  
  435. struct DisplayIDInformation *dinfo;
  436. ULONG command;
  437.  
  438.  
  439. void RastaParrot( void )
  440. {
  441. UBYTE direction, brightness, n;
  442. UWORD swidth, sheight;
  443. ULONG displayID;
  444. struct Rectangle *rect;
  445.  
  446. rect = GETTXTOSCANRECT(dinfo);
  447.  
  448. swidth = RECTANGLEWIDTH(rect);
  449. sheight = RECTANGLEHEIGHT(rect);
  450. displayID = DISPLAYID(dinfo);
  451. brightness = GETBRIGHTNESS(dinfo);
  452.  
  453. if ( !CheckAA() )
  454.     {
  455.     if ( displayID & SUPERHIRES )
  456.         {
  457.         displayID &= ~SUPERHIRES;
  458.         displayID |= HIRES;
  459.         swidth >>= 1;
  460.         }
  461.     }
  462.  
  463. if ( scr = OpenScreenTags( NULL,
  464.     SA_Width, swidth,
  465.     SA_Height, sheight,
  466.     SA_Depth, 3,
  467.     SA_Quiet, TRUE,
  468.     SA_DisplayID, displayID,
  469.     SA_Overscan, OSCAN_TEXT,
  470.     TAG_END ) )
  471.     {
  472.     register struct ViewPort *vp = &(scr->ViewPort);
  473.     register struct RastPort *rp = &(scr->RastPort);
  474.  
  475.     SpritesOff();
  476.  
  477.     for( n = 0; n < 24; n++ )
  478.         rp_cmap[n] = rp_cmap[n] * brightness/100;
  479.  
  480.     for ( n = 0; n < 24; n+=3 )
  481.         SetRGB4( vp, n/3, rp_cmap[n], rp_cmap[n+1], rp_cmap[n+2] );
  482.     SetAPen( rp, 0 );
  483.  
  484.     delay = 1;
  485.     direction = RangeRand( 2 );
  486.     dx = RangeRand( 3 ) + 1;
  487.     left = RangeRand( swidth );
  488.     oldleft = left;
  489.     top = RangeRand(sheight - 0x5F) + 0x40;
  490.  
  491.     while( STILL_BLANKING )
  492.         {
  493.         if ( !(--delay) )
  494.             {
  495.             if ( left >= swidth - 82 )
  496.                 {
  497.                 direction = 1;
  498.                 dx = RangeRand( 3 ) + 1;
  499.                 left = swidth - 82;
  500.                 }
  501.             if ( left <= 12 )
  502.                 {
  503.                 direction = 0;
  504.                 dx = RangeRand( 3 ) + 1;
  505.                 left = 12;
  506.                 }
  507.  
  508.             if ( direction == 0 )
  509.                 {
  510.                 rp_image.ImageData = ( rp_image.ImageData == rp1_imgdata ? rp2_imgdata : rp1_imgdata );
  511.                 left += dx;
  512.                 }
  513.             else
  514.                 {
  515.                 rp_image.ImageData = ( rp_image.ImageData == rp3_imgdata ? rp4_imgdata : rp3_imgdata );
  516.                 left -= dx;
  517.                 }
  518.  
  519.             WaitTOF();
  520.             RectFill( rp, oldleft, top, oldleft + 0x33, top + 0x1F );
  521.             DrawImage( rp, &rp_image, left, top );
  522.             oldleft = left;
  523.  
  524.             delay = 10;
  525.             }
  526.         else    WaitTOF();
  527.         }
  528.     SpritesOn();
  529.     CloseScreen( scr );
  530.     }
  531. else
  532.     SendClientMsg( ACTION_FAILED );
  533. }
  534.  
  535.  
  536. void __main( char *line )
  537. {
  538. if ( IntuitionBase = (struct IntuitionBase *)OpenLibrary( "intuition.library", 36L ) )
  539.     {
  540.     if ( GfxBase = (struct GfxBase *)OpenLibrary( "graphics.library",0L ) )
  541.         {
  542.         if ( BitMapBase = OpenLibrary( "bitmap.library", 0L ) )
  543.             {
  544.             if ( rasta_bitmap = CreateBitMap( 0x33, 0x1F, 3 ) )
  545.                 {
  546.                 if ( rport = AllocMem( sizeof(struct RastPort), MEMF_CLEAR ) )
  547.                     {
  548.                     InitRastPort( rport );
  549.                     rport->BitMap = rasta_bitmap;
  550.  
  551.                     RangeSeed = time( NULL );
  552.  
  553.                     if ( dinfo = OpenCommunication() )
  554.                         {
  555.                         RastaParrot();
  556.                         CloseCommunication( dinfo );
  557.                         }
  558.                     FreeMem( rport, sizeof(struct RastPort) );
  559.                     }
  560.                 DisposeBitMap( rasta_bitmap );
  561.                 }
  562.             CloseLibrary( BitMapBase );
  563.             }
  564.         CloseLibrary( (struct Library *)GfxBase );
  565.         }
  566.     CloseLibrary( (struct Library *)IntuitionBase );
  567.     }
  568. }
  569.